Python tokenize
tokenize
tokenize() ジェネレータは一つの引数 readline を必要とします。この引数は呼び出し可能オブジェクトで、ファイルオブジェクトの io.IOBase.readline() メソッドと同じインタフェースを提供している必要があります。
この関数は呼び出しのたびに入力の一行を bytes で返さなければなりません。(強調は引用者による)
このジェネレータは次の5要素のタプルを返します
この5要素のタプルは named tuple として返され、フィールド名は type string start end line になります。
トークンタイプ
トークン文字列
ソース内でそのトークンがどの行、列で開始するかを示す int の (srow, scol) タプル
どの行、列で終了するかを示す int の (erow, ecol) タプル
トークンが見つかった行
(タプルの最後の要素にある) 行は 物理 行です。
generate_tokens
Tokenize a source reading unicode strings instead of bytes
generate_tokens() expects readline to return a str object rather than bytes.